package org.gap.dao;

import java.util.Calendar;
import java.util.Set;

import org.gap.domain.Adherent;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Adherent entities.
 * 
 */
public interface AdherentDAO extends JpaDao<Adherent> {

	/**
	 * JPQL Query - findAdherentByAdhAffiliation
	 *
	 */
	public Set<Adherent> findAdherentByAdhAffiliation(Integer adhAffiliation) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhAffiliation
	 *
	 */
	public Set<Adherent> findAdherentByAdhAffiliation(Integer adhAffiliation, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliationBefore
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliationBefore(java.util.Calendar adhDateAffiliation) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliationBefore
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliationBefore(Calendar adhDateAffiliation, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhCin
	 *
	 */
	public Set<Adherent> findAdherentByAdhCin(Integer adhCin) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhCin
	 *
	 */
	public Set<Adherent> findAdherentByAdhCin(Integer adhCin, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliation
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliation(java.util.Calendar adhDateAffiliation_1) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliation
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliation(Calendar adhDateAffiliation_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliationAfter
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliationAfter(java.util.Calendar adhDateAffiliation_2) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhDateAffiliationAfter
	 *
	 */
	public Set<Adherent> findAdherentByAdhDateAffiliationAfter(Calendar adhDateAffiliation_2, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhPension
	 *
	 */
	public Set<Adherent> findAdherentByAdhPension(Integer adhPension) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhPension
	 *
	 */
	public Set<Adherent> findAdherentByAdhPension(Integer adhPension, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhSom
	 *
	 */
	public Set<Adherent> findAdherentByAdhSom(Integer adhSom) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhSom
	 *
	 */
	public Set<Adherent> findAdherentByAdhSom(Integer adhSom, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllAdherents
	 *
	 */
	public Set<Adherent> findAllAdherents() throws DataAccessException;

	/**
	 * JPQL Query - findAllAdherents
	 *
	 */
	public Set<Adherent> findAllAdherents(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByPrimaryKey
	 *
	 */
	public Adherent findAdherentByPrimaryKey(Integer adhId) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByPrimaryKey
	 *
	 */
	public Adherent findAdherentByPrimaryKey(Integer adhId, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhId
	 *
	 */
	public Adherent findAdherentByAdhId(Integer adhId_1) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhId
	 *
	 */
	public Adherent findAdherentByAdhId(Integer adhId_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhImmatriculation
	 *
	 */
	public Set<Adherent> findAdherentByAdhImmatriculation(Integer adhImmatriculation) throws DataAccessException;

	/**
	 * JPQL Query - findAdherentByAdhImmatriculation
	 *
	 */
	public Set<Adherent> findAdherentByAdhImmatriculation(Integer adhImmatriculation, int startResult, int maxRows) throws DataAccessException;

}